home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 June / Macworld (1999-06).dmg / Serious Software / Emilé™ Lite 1.0 / Document Types / SMIL
Extensible Markup Language  |  1998-07-28  |  7KB  |  247 lines

  1. <?XML version="1.0"?>
  2.  
  3. <!--
  4.  
  5.     This is the XML document type definition (DTD) for SMIL 1.0.
  6.  
  7.     Date: 1998/06/15 08:56:30
  8.  
  9.     Authors: 
  10.         Jacco van Ossenbruggen <jrvosse@cwi.nl> 
  11.         Sjoerd Mullender       <sjoerd@cwi.nl>
  12.         
  13.     Further information about SMIL is available at:
  14.  
  15.           http://www.w3.org/AudioVideo/
  16.  
  17. -->
  18.  
  19. <!-- Generally useful entities -->
  20. <!ENTITY % id-attr "id ID #IMPLIED">
  21. <!ENTITY % title-attr "title CDATA #IMPLIED">
  22. <!ENTITY % skip-attr "skip-content (true|false) 'true'">
  23. <!ENTITY % desc-attr "
  24.         %title-attr;
  25.         abstract        CDATA   #IMPLIED
  26.         author          CDATA   #IMPLIED
  27.         copyright       CDATA   #IMPLIED
  28. ">
  29.  
  30. <!--=================== SMIL Document =====================================-->
  31. <!--
  32.      The root element SMIL contains all other elements.
  33. -->
  34. <!ELEMENT smil (head?,body?)>
  35. <!ATTLIST smil
  36.         %id-attr;
  37. >
  38.  
  39. <!--=================== The Document Head =================================-->
  40. <!ENTITY % layout-section "layout|switch">
  41.  
  42. <!ENTITY % head-element "(meta*,((%layout-section;), meta*))?">
  43.  
  44. <!ELEMENT head %head-element;>
  45. <!ATTLIST head %id-attr;>
  46.  
  47.  
  48. <!--=================== Layout Element ====================================-->
  49. <!--
  50.      Layout contains the region and root-layout elements defined by
  51.      smil-basic-layout or other elements defined an external layout 
  52.      mechanism.
  53. -->
  54. <!ELEMENT layout ANY>
  55. <!ATTLIST layout
  56.         %id-attr;
  57.         type CDATA      "text/smil-basic-layout"
  58. >
  59.  
  60.  
  61. <!--=================== Region Element ===================================-->
  62. <!ENTITY % viewport-attrs "
  63.         height              CDATA    #IMPLIED
  64.         width               CDATA    #IMPLIED
  65.         background-color    CDATA    #IMPLIED
  66. ">
  67.  
  68. <!ELEMENT region EMPTY>
  69. <!ATTLIST region
  70.         %id-attr;
  71.         %title-attr;
  72.         %viewport-attrs;
  73.         left                CDATA    "0"
  74.         top                 CDATA    "0"
  75.         z-index             CDATA    "0"
  76.         fit                 (hidden|fill|meet|scroll|slice)    "hidden"
  77.         %skip-attr;
  78. >
  79.  
  80. <!--=================== Root-layout Element ================================-->
  81. <!ELEMENT root-layout EMPTY>
  82. <!ATTLIST root-layout
  83.         %id-attr;
  84.         %title-attr;
  85.         %viewport-attrs;
  86.         %skip-attr;
  87. >
  88.  
  89.  
  90. <!--=================== Meta Element=======================================-->
  91. <!ELEMENT meta EMPTY>
  92. <!ATTLIST meta
  93.         name    NMTOKEN #REQUIRED
  94.         content CDATA   #REQUIRED
  95.         %skip-attr;
  96. >
  97.  
  98. <!--=================== The Document Body =================================-->
  99. <!ENTITY % media-object "audio|video|text|img|animation|textstream|ref">
  100. <!ENTITY % schedule "par|seq|(%media-object;)">
  101. <!ENTITY % inline-link "a">
  102. <!ENTITY % assoc-link "anchor">
  103. <!ENTITY % link "%inline-link;">
  104. <!ENTITY % container-content "(%schedule;)|switch|(%link;)">
  105. <!ENTITY % body-content "(%container-content;)">
  106.  
  107. <!ELEMENT body (%body-content;)*>
  108. <!ATTLIST body %id-attr;>
  109.  
  110. <!--=================== Synchronization Attributes ========================-->
  111. <!ENTITY % sync-attributes "
  112.         begin   CDATA   #IMPLIED
  113.         end     CDATA   #IMPLIED
  114. ">
  115.  
  116. <!--=================== Switch Parameter Attributes =======================-->
  117. <!ENTITY % system-attribute "
  118.         system-bitrate             CDATA                #IMPLIED
  119.         system-language            CDATA                #IMPLIED
  120.         system-required            NMTOKEN              #IMPLIED
  121.         system-screen-size         CDATA                #IMPLIED
  122.         system-screen-depth        CDATA                #IMPLIED
  123.         system-captions            (on|off)             #IMPLIED
  124.         system-overdub-or-caption  (caption|overdub)    #IMPLIED
  125. ">
  126.  
  127. <!--=================== Fill Attribute ====================================-->
  128. <!ENTITY % fill-attribute "
  129.         fill    (remove|freeze)    'remove'
  130. ">
  131.  
  132.  
  133. <!--=================== The Parallel Element ==============================-->
  134. <!ENTITY % par-content "%container-content;">
  135. <!ELEMENT par    (%par-content;)*>
  136. <!ATTLIST par
  137.         %id-attr;
  138.         %desc-attr;
  139.         endsync CDATA           "last"
  140.         dur     CDATA           #IMPLIED
  141.         repeat  CDATA           "1"
  142.         region  IDREF           #IMPLIED
  143.         %sync-attributes;
  144.         %system-attribute;
  145. >
  146.  
  147. <!--=================== The Sequential Element ============================-->
  148. <!ENTITY % seq-content "%container-content;">
  149. <!ELEMENT seq    (%seq-content;)*>
  150. <!ATTLIST seq
  151.         %id-attr;
  152.         %desc-attr;
  153.         dur     CDATA           #IMPLIED
  154.         repeat  CDATA           "1"
  155.         region  IDREF           #IMPLIED
  156.         %sync-attributes;
  157.         %system-attribute;
  158. >
  159.  
  160. <!--=================== The Switch Element ================================-->
  161. <!-- In the head, a switch may contain only layout elements,
  162.      in the body, only container elements. However, this
  163.      constraint cannot be expressed in the DTD (?), so
  164.      we allow both:
  165. -->
  166. <!ENTITY % switch-content "layout|(%container-content;)">
  167. <!ELEMENT switch (%switch-content;)*>
  168. <!ATTLIST switch
  169.         %id-attr;
  170.         %title-attr;
  171. >
  172.  
  173. <!--=================== Media Object Elements =============================-->
  174. <!-- SMIL only defines the structure. The real media data is
  175.      referenced by the src attribute of the media objects.
  176. -->
  177.  
  178. <!-- Furthermore, they have the following attributes as defined
  179.      in the SMIL specification:
  180. -->
  181. <!ENTITY % mo-attributes "
  182.         %id-attr;
  183.         %desc-attr;
  184.         region     IDREF           #IMPLIED
  185.         alt        CDATA           #IMPLIED
  186.         longdesc   CDATA           #IMPLIED
  187.         src        CDATA           #IMPLIED
  188.         type       CDATA           #IMPLIED
  189.         dur        CDATA           #IMPLIED
  190.         repeat     CDATA           '1'
  191.         %fill-attribute;
  192.         %sync-attributes;
  193.         %system-attribute;
  194. ">
  195.  
  196. <!--
  197.      Most info is in the attributes, media objects are empty or
  198.      contain associated link elements:
  199. -->
  200. <!ENTITY % mo-content "(%assoc-link;)*">
  201. <!ENTITY % clip-attrs "
  202.         clip-begin      CDATA   #IMPLIED
  203.         clip-end        CDATA   #IMPLIED
  204. ">
  205.  
  206. <!ELEMENT ref           %mo-content;>
  207. <!ELEMENT audio         %mo-content;>
  208. <!ELEMENT img           %mo-content;>
  209. <!ELEMENT video         %mo-content;>
  210. <!ELEMENT text          %mo-content;>
  211. <!ELEMENT textstream    %mo-content;>
  212. <!ELEMENT animation     %mo-content;>
  213.  
  214. <!ATTLIST ref           %mo-attributes; %clip-attrs;>
  215. <!ATTLIST audio         %mo-attributes; %clip-attrs;>
  216. <!ATTLIST video         %mo-attributes; %clip-attrs;>
  217. <!ATTLIST animation     %mo-attributes; %clip-attrs;>
  218. <!ATTLIST textstream    %mo-attributes; %clip-attrs;>
  219. <!ATTLIST text          %mo-attributes;>
  220. <!ATTLIST img           %mo-attributes;>
  221.  
  222. <!--=================== Link Elements =====================================-->
  223.  
  224. <!ENTITY % smil-link-attributes "
  225.         %id-attr;
  226.         %title-attr;
  227.         href            CDATA                   #REQUIRED
  228.         show            (replace|new|pause)     'replace'
  229. ">
  230.  
  231.  
  232. <!--=================== Inline Link Element ===============================-->
  233. <!ELEMENT a (%schedule;|switch)*>
  234. <!ATTLIST a
  235.         %smil-link-attributes;
  236. >
  237.  
  238.  
  239. <!--=================== Associated Link Element ===========================-->
  240. <!ELEMENT anchor EMPTY>
  241. <!ATTLIST anchor
  242.         %skip-attr;
  243.         %smil-link-attributes;
  244.         %sync-attributes;
  245.         coords          CDATA                   #IMPLIED
  246. >
  247.